package com.hck.infrastructure.persistent.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 賬戶交易記錄表
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AccountTransaction {
    
    /**
     * 交易ID
     */
    private Long id;
    
    /**
     * 用戶ID
     */
    private Long userId;
    
    /**
     * 交易類型：recharge-充值，withdraw-提現，consume-消費，refund-退款
     */
    private String transactionType;
    
    /**
     * 交易金額
     */
    private BigDecimal amount;
    
    /**
     * 交易後餘額
     */
    private BigDecimal balance;
    
    /**
     * 交易描述
     */
    private String description;
    
    /**
     * 關聯ID
     */
    private Long relatedId;
    
    /**
     * 關聯類型
     */
    private String relatedType;
    
    /**
     * 交易狀態：pending-處理中，success-成功，failed-失敗
     */
    private String status;
    
    /**
     * 創建時間
     */
    private Date createTime;
    
    /**
     * 更新時間
     */
    private Date updateTime;
} 